home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Maclife 40
/
MACLIFE40.ISO.7z
/
MACLIFE40.ISO
/
MACLIFE連載
/
特集II DTPデザインを効率化
/
AppleScript⁄サンプル
/
SampleScript
/
For OtherApplication
/
平凡な学歴_folder
/
平凡な学歴.SRC
< prev
next >
Wrap
Text File
|
1998-05-14
|
6KB
|
162 lines
--変数の前処理
global shou, D_shou, chu, D_chu, D_chu_R, kou, D_kou, D_kou_R, dai, D_dai, WAREKI, seireki, showa, heisei, tanjou
set shou to 6 --小学校
set D_shou to 0 --小学校ダブり
set chu to 3 --中学校
set D_chu to 0 --中学校ダブり
set D_chu_R to 0 --中学浪人
set kou to 3 --高校
set D_kou to 0 --高校ダブり
set D_kou_R to 0 --高校浪人
set dai to 4 --大学
set D_dai to 0 --大学ダブり
set DDD to false --ダブリフラッグ
with timeout of 3600 seconds
--生年月日等の入力
display dialog "あなたの生年月日を「西暦.月.日」で入力してください" & return & ツ
"医大・短大・各種学校をご卒業された方は左端のボタンをクリックしてください" & return & ツ
ツ
"人生の寄り道を経験された方は「ダブり」ボタンで各パラメータにその差分を入力してください" default answer "1964.9.12" buttons {"医大・短大・各種学校", "ダブり", "平凡な学歴"} default button 3 ツ
with icon 1
set ANS_1 to result
if (button returned of ANS_1) is "ダブり" then set DDD to true
if (button returned of ANS_1) is "医大・短大・各種学校" then
display dialog "医科歯科大学をご卒業された方は「+2」と入力してください" & return & ツ
"短大・各種学校をご卒業された方は「-2」と入力してください" & return & ツ
ツ
"人生の寄り道を経験された方は「ダブり」ボタンで各パラメータにその差分を入力してください" default answer "-2" buttons {"高専", "ダブり", "平凡な学歴"} default button 3 ツ
with icon 1
set ANS_2 to result
set dai to dai + (text returned of ANS_2 as number)
if (button returned of ANS_2) is "ダブり" then set DDD to true
if (button returned of ANS_2) is "高専" then
display dialog "高専をご卒業された方は「+2」と入力してください" & return & ツ
ツ
"人生の寄り道を経験された方は「ダブり」ボタンで各パラメータにその差分を入力してください" default answer "+2" buttons {"ダブり", "平凡な学歴"} default button 2 ツ
with icon 1
set ANS_3 to result
set kou to kou + (text returned of ANS_3 as number)
if (button returned of ANS_3) is "ダブり" then set DDD to true
end if
end if
set birthday to date (text returned of ANS_1 as text)
set kyou to current date
--ダブり(サブルーチンへ)
if DDD is true then my DABURI()
set nen to (((kyou) - (birthday)) / 31557600) div 1 --年齢を整数で計算
--Birthday のちょっとしたイベント
if (month of kyou = month of birthday) and (day of kyou = day of birthday) then
display dialog (nen as string) & "歳お誕生日おめでとうございます" & return & ツ
"今年一年が実り多き年でありますように...." buttons {"don't mind", "Blue", "very Hapy!!"} default button 3 with icon 1
end if
--計算実行ルーチン
if (month of birthday is January) or ツ
(month of birthday is February) or ツ
(month of birthday is March) then
set haya to 1 --早生まれ変数
else
set haya to 0
end if
set showa_1 to "1926.1.1" --昭和1年を基準にして西暦のクラスを変換
set showa_1 to date showa_1
set showa_1 to year of showa_1
set gakunen to year of birthday
set gakunen to (gakunen - showa_1) as number
set tanjou to gakunen + 1926 --早生まれの人の年がかわらないように
set gakunen to gakunen + 1926 - haya --学年が確定
--旧制学校制はサポートしない
if gakunen イ 1941 then
display dialog "このヴァージョンでは旧制学校制はサポートしていません。ごめんなさい" with icon 2
quit me
end if
set tanjou_W to my WAREKI(tanjou) --生まれ年
set SN_S to gakunen + 7 --小学校入学
set SN_W to my WAREKI(SN_S)
set SS_S to shou + SN_S + D_shou --小学校卒業
set SS_W to my WAREKI(SS_S)
set CN_S to SS_S --中学校入学
set CN_W to my WAREKI(CN_S)
set CS_S to CN_S + chu + D_chu --中学校卒業
set CS_W to my WAREKI(CS_S)
set KN_S to CS_S + D_chu_R --高校入学
set KN_W to my WAREKI(KN_S)
set KS_S to KN_S + kou + D_kou --高校卒業
set KS_W to my WAREKI(KS_S)
set DN_S to KS_S + D_kou_R --大学入学
set DN_W to my WAREKI(DN_S)
set DS_S to DN_S + dai + D_dai --大学卒業
set DS_W to my WAREKI(DS_S)
--結果表示
set hyouji_1 to tanjou_W & "(" & (tanjou as string) & ")" & "生まれ " & (nen as string) & "歳" & return & ツ
SN_W & "(" & (SN_S as string) & ")" & "4月 小学校入学" & return & ツ
SS_W & "(" & (SS_S as string) & ")" & "3月 小学校卒業" & return & ツ
CN_W & "(" & (CN_S as string) & ")" & "4月 中学校入学" & return & ツ
CS_W & "(" & (CS_S as string) & ")" & "3月 中学校卒業" & return
set hyouji_2 to KN_W & "(" & (KN_S as string) & ")" & "4月 高校入学" & return & ツ
KS_W & "(" & (KS_S as string) & ")" & "3月 高校卒業" & return & ツ
DN_W & "(" & (DN_S as string) & ")" & "4月 大学(短大・各種学校)入学" & return & ツ
DS_W & "(" & (DS_S as string) & ")" & "3月 大学(短大・各種学校)卒業" & return
display dialog hyouji_1 & " 1/2" buttons {"次頁へ"} default button 1 with icon 1
display dialog hyouji_2 & " 2/2" buttons {"キャンセル", "保存"} default button 2 with icon 1
if (button returned of result) is "保存" then
set save_file to new file with prompt "出力ファイル:" default name "平凡な学歴.txt"
set fh to open for access save_file with write permission
try
write (hyouji_1 & hyouji_2) to fh
on error errMsg
close access fh
error errMsg
end try
close access fh
end if
end timeout
on DABURI() --ダブり処理がサブルーチンになるというのも不思議な因縁だ...
display dialog "小学校を余計に通った" & return ツ
& "年数を入力してください" default answer "0" with icon 0
set D_shou to text returned of result as number
display dialog "中学校を余計に通った" & return ツ
& "年数を入力してください" default answer "0" with icon 0
set D_chu to text returned of result as number
display dialog "高校生になるのに空白期間があった" & return ツ
& "年数を入力してください" default answer "0" with icon 0
set D_chu_R to text returned of result as number
display dialog "高校を余計に通った" & return ツ
& "年数を入力してください" default answer "0" with icon 0
set D_kou to text returned of result as number
display dialog "大学(短大・各種学校)生になるのに空白期間があった" & return ツ
& "年数を入力してください" default answer "0" with icon 0
set D_kou_R to text returned of result as number
display dialog "大学(短大・各種学校)を余計に通った" & return ツ
& "年数を入力してください" default answer "0" with icon 0
set D_dai to text returned of result as number
end DABURI
on WAREKI(seireki) --西暦を和暦にする
if seireki ウ 1989 then --平成
set heisei to seireki - 1988
set heisei to "平成" & (heisei as string) & "年"
return heisei
else if seireki ウ 1925 then --昭和
set showa to seireki - 1925
set showa to "昭和" & (showa as string) & "年"
return showa
end if
end WAREKI